package org.jfonia.musicxml.model;

import java.util.Map;

import org.jfonia.musicxml.MusicXMLImporter;
import org.w3c.dom.Node;

/**
 * Top level model class representing a time-wise score.
 * The model closely follows MusicXML DTD's, but offers only 
 * a subset.
 * 
 * @see MusicXMLImporter for reading a MusicXML file
 * 
 * @author Wijnand
 *
 */
public class ScorePartwise extends Element
{
	private ScoreHeader	      scoreHeader = null;
	
	private Map<String, Part> partMap = null;
	
	private Part		      voicePart = null;

	private Part		      harmonyPart = null;


	public ScorePartwise(Node node)
	{
		super(node);
	}
	

	public void setScoreHeader(ScoreHeader scoreHeader)
	{
		this.scoreHeader = scoreHeader;
	}

	public ScoreHeader getScoreHeader()
	{
		return scoreHeader;
	}

	public void setVoicePart(Part voicePart)
	{
		this.voicePart = voicePart;
	}

	public Part getVoicePart()
	{
		return voicePart;
	}

	public void setHarmonyPart(Part harmonyPart)
	{
		this.harmonyPart = harmonyPart;
	}

	public Part getHarmonyPart()
	{
		return harmonyPart;
	}


	public Map<String, Part> getPartMap()
	{
		return partMap;
	}


	public void setPartMap(Map<String, Part> partMap)
	{
		this.partMap = partMap;
	}

}
